1. Technical Field
The present invention relates in general to improved information processing systems. In particular, the present invention relates to improved information processing systems in which large documents are displayed within a graphic interface. Still more particularly, the present invention relates to a method and system for efficiently managing the manipulation of large documents displayed within a computer screen.
2. Description of the Related Art
The development of computerized distributed information resources, such as the "Internet," allows users to link with servers and networks, and thus retrieve vast amounts of electronic information heretofore unavailable in an electronic medium. Such electronic information increasingly is displacing more conventional means of information transmission, such as newspapers, magazines, and even television. The term "Internet" is an abbreviation for "Internetwork," and refers commonly to a collection of computer networks that utilize the TCP/IP suite of protocols, well-known in the art of computer networking. TCP/IP is an acronym for "Transport Control Protocol/Interface Program," a software protocol developed by the Department of Defense for communication between computers.
Electronic information transferred between computer networks (e.g., the Internet) can be presented to a user in hypertext, a metaphor for presenting information in a manner in which text, images, sounds, and actions become linked together in a complex non-sequential web of associations that permit the user to "browse" through related topics, regardless of the presented order of the topics. These links are often established by both the author of a hypertext document and by the user, depending on the intent of the hypertext document. For example, traveling among hypertext links to the word "iron" in an article displayed within a graphical user interface in a computer system might lead the user to the periodic table of the chemical elements (i.e., linked by the word "iron"), or to a reference to the use of iron in weapons in Europe in the Dark Ages. The term "hypertext" is utilized to describe documents, as presented by a computer, that express the nonlinear structure of ideas, as opposed to the linear format of books, film, and speech.
Hypertext, especially in an interactive format where choices are controlled by the user, is structured around the idea of offering a working and learning environment that parallels human thinking--that is, an environment that allows the user to make associations between topics rather than moving sequentially from one topic to the next, as in an alphabetic list. Hypertext topics are linked in a manner that allows users to jump from one subject to other related subjects during a search for information.
Networked systems utilizing hypertext conventions typically follow a client/server architecture. A "client" is a member of a class or group that utilizes the services of another class or group to which it is not related. In the context of a computer network such as the Internet, a client is a process (i.e., roughly a program or task) that requests a service provided by another program. The client process utilizes the requested service without having to "know" any working details about the other program or the service itself. In networked systems, a client is usually a computer that accesses shared network resources provided by another computer (i.e., a server).
A "server" is typically a remote computer system accessible over a communications medium such as the Internet. The server scans and searches for raw (e.g., unprocessed) information sources (e.g., newswire feeds or newsgroups). Based upon such requests by the user, the server presents filtered electronic information to the user as server responses to the client process. The client process may be active in a first computer system, and the server process may be active in a second computer system, and communicate with one another over a communications medium that allows multiple clients to take advantage of the information-gathering capabilities of the server.
Client and server can communicate with one another utilizing the functionality provided by a hypertext transfer protocol (HTTP). The World Wide web (WWW) or, simply, the "web," includes all servers adhering to this protocol, which are accessible to clients via a Universal Resource Locator (URL). Internet services can be accessed by specifying Universal Resource Locators that have two basic components: a protocol to be used and an object pathname. For example, the Universal Resource Locator address, "http://www.uspto.gov" (i.e., the "home page" for the U.S. Patent and Trademark Office), specifies a hypertext transfer protocol ("http") and a pathname of the server ("www.uspto.gov"). The server name is associated with a unique numeric value (TCP/IP address). Active within the client is a first process, known as a "browser," that establishes the connection with the server and presents information to the user. The server itself executes corresponding server software that presents information to the client in the form of HTTP responses. The HTTP responses correspond to "web pages" constructed from a Hypertext Markup Language (HTML), or other server-generated data.
A "web page" (also referred to by some designers simply as a "page") is a data file written in a hyper-text language that may have text, graphic images, and even multimedia objects such as sound recordings or moving video clips associated with that data file. The web page can be displayed as a viewable object within a computer system. A viewable object can contain one or more components such as spreadsheets, text, hotlinks, pictures, sound, and video objects. A web page can be constructed by loading one or more separate files into an active directory or file structure that is then displayed as a viewable object within a graphical user interface. A web page is thus a form of a document that may be displayed within a graphical user interface. A document, however, need not necessarily be a web page. For example, a document can simply be a word processing document displayed within a graphical user interface environment in which a word processing application operates. The document itself may include many "pages" of scrollable text. Such pages are not equivalent to "web pages," but are analogous to the pages of a book or a sheet or page of bonded paper. Those skilled in the art can appreciate that a distinction thus exists between a web page, a document, and pages included within a document.
When a client workstation sends a request to a server for a web page, the server first transmits (at least partially) the main hypertext file associated with the web page, and then loads, either sequentially or simultaneously, the other files associated with the web page. A given file may be transmitted as several separate pieces via TCP/IP protocol. The constructed web page is then displayed as a viewable object on the workstation monitor. A web page may be "larger" than the physical size of the monitor screen, and devices such as graphical user interface scroll bars can be utilized by the viewing software (i.e., the browser) to view different portions of the web page.
A problem associated with this type of "scrolling" either in Internet based systems or independent computer systems which utilize graphical user interface devices, is that documents are often too long to fit within a graphical user interface window, well known in the art of data-processing systems. Scroll bars give some sense of the global length of a document displayed within a graphical user interface window, such as a web page, and allow a user to navigate fairly easily through such documents. However, scroll bars lack the ability to allow the user to comprehend how much information is actually located prior to or after a currently displayed portion of the web page or document. Such scroll bars also do not give the user a sense of how this information is "laid out" within the entire document.
From the foregoing it can be seen that a need exists for a method and system that would provide a user with a sense of where the user is located within a long viewable document such as an "online" document or a document contained within a graphical user interface window utilized in accordance with applications such as word processors, spreadsheets, and so forth.